
   5 CLEAR ;CY=0;INPUT "  NO OF PLAYERS 1-4?"W;IF W>4GOTO 5
  10 N=0;GOSUB 500;FOR A=1TO 41;@(A)=0;NEXT A;C=0;B=0;FOR Z=1TO 16;C=C+1;IF C=3B=8
  20 D=RND (8)+B;A=Z÷2;A=RM;E=D÷2;IF A#RMGOTO 20
  30 IF @(D+16)#0GOTO 20
  40 @(Z)=D;@(D+16)=1;IF C=4B=0;C=0
  50 NEXT Z
  60 M=RND (5);B=1;FOR A=17TO 20;IF B=M B=B+1
  70 @(A)=64+B;B=B+1;NEXT A;M=M+64;S=RND (16);GOSUB 350;@(29)=A;K=S;IF S<9@(31)=1;GOTO 90
  80 @(31)=2
  90 A=RND (3);B=@(29)+4;@(B)=A;@(25)=A
 100 G=RND (4)+20;IF G=BGOTO 100
 110 @(G)=A;FOR Z=21TO 24;IF (Z=B)+(Z=G)NEXT Z;GOTO 140
 120 C=RND (3);IF C=AGOTO 120
 130 @(Z)=C;NEXT Z
 140 G=G+12;B=B+12;FOR A=33TO 36;C=RND (2);@(A)=C;NEXT A;@(26)=@(B)
 150 IF @(G)=@(B)C=RND (2);@(G)=C;GOTO 150
 160 A=K÷2;IF RM=0@(27)=2;GOTO 180
 170 @(27)=1
 180 B=@(29);G=RND (4)+16;IF @(29)=GGOTO 180
 190 S=RND (16);F=S;IF F=@(30)GOTO 190
 200 GOSUB 350;L=A;CY=36;TV=M;PRINT #3,F;P=1;R=28;T=16
 215 IF &(T)=17CLEAR ;N=N+1;@(R+9)=1;GOTO 470
 220 CY=32;CX=26;PRINT #1,P;S=&(R)÷14-2;IF S<1S=1
 230 CY=40;CX=35;PRINT #1,S;IF &(T)#16GOTO 215
 250 GOSUB 350;IF S=FGOTO 220
 260 C=RND (4);X=-21×C+8;U=C×8+8;V=U÷2;Y=5-V;BOX X,Y,6,U,3;BOX X+5,Y-V+3,4,7,3;CY=8;CX=X;IF C=4TV=@(A);GOTO 287
 265 IF C=1D=A-16;D=D×4-4;D=D+RND (4);IF (@(D)=S)+(@(D)=F)GOTO 265
 275 IF C=2D=A+16
 280 IF C=3D=A+4
 285 PRINT #1,@(D)
 287 IF &(T)#16GOTO 287
 290 CLEAR ;CY=8;PRINT "     PRIVATE QUESTION
 295 Q=&(R)÷10-16;IF Q<1Q=1
 296 CX=0;CY=0;PRINT #1,Q;IF &(T)#16GOTO 295
 297 IF Q=9GOTO 310
 300 A=S÷2;A=RM;B=Q÷2;IF A#RM CX=-15;PRINT "ERROR";GOTO 290
 310 NT=0;CLEAR ;BC=151;FC=167;CX=1;CY=0;GOSUB 350;GOSUB Q×2+400;PRINT #1,M
 315 BOX 0,0,9,9,3
 320 IF &(T)#16GOTO 320
 330 CLEAR ;GOSUB 450;IF P>W P=0;R=27;T=15;GOTO 330
 340 GOSUB 500;GOTO 215
 350 FOR A=1TO 16;C=A;IF @(A)=SFOR A=1TO 4;IF C<=A×4A=A+16;RETURN 
 360 NEXT A
 402 M=@(26);RETURN 
 404 M=@(31);RETURN 
 406 M=@(25);RETURN 
 408 TV=@(G);GOTO 315
 410 TV=@(L);GOTO 315
 412 IF A=G M=1;RETURN 
 413 M=2;RETURN 
 414 M=@(A+16);RETURN 
 416 M=@(A+4);RETURN 
 418 IF A=G M=@(27);RETURN 
 419 M=0;RETURN 
 450 P=P+1;R=R+1;T=T+1;IF @(R+9)=1GOTO 450
 460 RETURN 
 470 CY=0;CX=-25;INPUT "I ACCUSE"S;CX=-9;IF S=KPRINT "RIGHT";STOP
 480 IF N=WPRINT #1,K," DID";STOP
 490 GOTO 330
 500 CLEAR ;NT=1;FC=8;CY=16;PRINT "     SUSPECT STATEMENT";CY=-8;CX=0;PRINT "WITH";CX=-21;PRINT "NORTH*SOUTH
 510 CX=-43;PRINT "PART OF TOWN";CX=-64;PRINT "PLACE";CY=40;CX=-33;PRINT "SUSPECT #";CX=-27;PRINT "PLAYER#";RETURN 
:RETURN ;RUN 
>